(module binary
  "\00\61\73\6d\01\00\00\00\01\8a\80\80\80\00\02\60"
  "\00\01\7f\60\01\7f\01\7f\03\93\80\80\80\00\12\00"
  "\00\00\00\01\00\00\00\00\01\01\00\00\00\00\00\00"
  "\00\07\9a\81\80\80\00\12\05\62\6c\6f\63\6b\00\00"
  "\05\6c\6f\6f\70\31\00\01\05\6c\6f\6f\70\32\00\02"
  "\05\6c\6f\6f\70\33\00\03\05\6c\6f\6f\70\34\00\04"
  "\05\6c\6f\6f\70\35\00\05\05\6c\6f\6f\70\36\00\06"
  "\02\69\66\00\07\03\69\66\32\00\08\06\73\77\69\74"
  "\63\68\00\09\06\72\65\74\75\72\6e\00\0a\06\62\72"
  "\5f\69\66\30\00\0b\06\62\72\5f\69\66\31\00\0c\06"
  "\62\72\5f\69\66\32\00\0d\06\62\72\5f\69\66\33\00"
  "\0e\02\62\72\00\0f\09\73\68\61\64\6f\77\69\6e\67"
  "\00\10\0c\72\65\64\65\66\69\6e\69\74\69\6f\6e\00"
  "\11\0a\c6\86\80\80\00\12\8b\80\80\80\00\00\02\7f"
  "\41\01\0c\00\41\00\0b\0b\a3\80\80\80\00\01\01\7f"
  "\41\00\21\00\02\7f\03\7f\20\00\41\01\6a\21\00\20"
  "\00\41\05\46\04\40\20\00\0c\02\0b\0c\00\0b\0b\0b"
  "\b4\80\80\80\00\01\01\7f\41\00\21\00\02\7f\03\7f"
  "\20\00\41\01\6a\21\00\20\00\41\05\46\04\40\0c\01"
  "\0b\20\00\41\08\46\04\40\20\00\0c\02\0b\20\00\41"
  "\01\6a\21\00\0c\00\0b\0b\0b\a3\80\80\80\00\01\01"
  "\7f\41\00\21\00\02\7f\03\7f\20\00\41\01\6a\21\00"
  "\20\00\41\05\46\04\40\20\00\0c\02\0b\20\00\0b\0b"
  "\0b\a3\80\80\80\00\01\01\7f\41\01\21\01\02\7f\03"
  "\7f\20\01\20\01\6a\21\01\20\01\20\00\4b\04\40\20"
  "\01\0c\02\0b\0c\00\0b\0b\0b\8a\80\80\80\00\00\03"
  "\7f\41\01\0b\41\01\6a\0b\8b\80\80\80\00\00\03\7f"
  "\41\00\0d\00\41\03\0b\0b\84\81\80\80\00\01\01\7f"
  "\41\00\21\00\02\40\41\01\04\40\0c\00\41\9a\05\21"
  "\00\0b\20\00\41\01\6a\21\00\41\01\04\40\0c\00\41"
  "\9a\05\21\00\05\41\f8\06\21\00\0b\20\00\41\01\6a"
  "\21\00\41\01\04\40\0c\00\41\9a\05\21\00\05\41\f8"
  "\06\21\00\0b\20\00\41\01\6a\21\00\41\00\04\40\41"
  "\f8\06\21\00\05\0c\00\41\9a\05\21\00\0b\20\00\41"
  "\01\6a\21\00\41\00\04\40\41\f8\06\21\00\05\0c\00"
  "\41\9a\05\21\00\0b\20\00\41\01\6a\21\00\0b\20\00"
  "\0b\84\81\80\80\00\01\01\7f\41\00\21\00\02\40\41"
  "\01\04\40\0c\00\41\9a\05\21\00\0b\20\00\41\01\6a"
  "\21\00\41\01\04\40\0c\00\41\9a\05\21\00\05\41\f8"
  "\06\21\00\0b\20\00\41\01\6a\21\00\41\01\04\40\0c"
  "\00\41\9a\05\21\00\05\41\f8\06\21\00\0b\20\00\41"
  "\01\6a\21\00\41\00\04\40\41\f8\06\21\00\05\0c\00"
  "\41\9a\05\21\00\0b\20\00\41\01\6a\21\00\41\00\04"
  "\40\41\f8\06\21\00\05\0c\00\41\9a\05\21\00\0b\20"
  "\00\41\01\6a\21\00\0b\20\00\0b\ad\80\80\80\00\00"
  "\02\7f\41\0a\02\7f\02\40\02\40\02\40\02\40\02\40"
  "\20\00\0e\04\04\00\01\02\03\0b\0b\41\02\0c\03\0b"
  "\41\03\0c\03\0b\0b\41\05\0b\6c\0b\0b\98\80\80\80"
  "\00\00\02\40\02\40\02\40\20\00\0e\01\00\01\0c\02"
  "\0b\41\00\0f\0b\0b\41\02\0b\d6\80\80\80\00\01\01"
  "\7f\41\00\21\00\02\7f\02\40\41\00\0d\00\20\00\41"
  "\01\72\21\00\41\01\0d\00\20\00\41\02\72\21\00\0b"
  "\02\7f\20\00\41\04\72\21\00\20\00\0b\41\00\0d\00"
  "\1a\20\00\41\08\72\21\00\02\7f\20\00\41\10\72\21"
  "\00\20\00\0b\41\01\0d\00\1a\20\00\41\20\72\21\00"
  "\20\00\0b\0b\93\80\80\80\00\00\02\7f\02\7f\41\01"
  "\0c\00\0b\41\01\0d\00\1a\41\01\0b\0b\95\80\80\80"
  "\00\00\02\7f\41\01\04\40\02\7f\41\01\0c\00\0b\0c"
  "\01\0b\41\01\0b\0b\a4\80\80\80\00\01\01\7f\02\7f"
  "\02\7f\41\01\21\00\20\00\0b\02\7f\41\02\21\00\20"
  "\00\0b\0d\00\1a\41\00\0b\41\00\6a\1a\20\00\0b\a1"
  "\80\80\80\00\00\02\7f\41\01\04\40\02\7f\41\01\0c"
  "\00\0b\0c\01\05\02\40\02\7f\41\01\0c\00\0b\1a\0b"
  "\0b\41\01\0b\0b\8c\80\80\80\00\00\02\7f\41\01\0c"
  "\00\41\02\73\0b\0b\92\80\80\80\00\00\02\7f\02\7f"
  "\41\02\0b\02\7f\41\03\0c\00\0b\6a\0b\0b"
)
(assert_return (invoke "block") (i32.const 1))
(assert_return (invoke "loop1") (i32.const 5))
(assert_return (invoke "loop2") (i32.const 8))
(assert_return (invoke "loop3") (i32.const 1))
(assert_return (invoke "loop4" (i32.const 8)) (i32.const 16))
(assert_return (invoke "loop5") (i32.const 2))
(assert_return (invoke "loop6") (i32.const 3))
(assert_return (invoke "if") (i32.const 5))
(assert_return (invoke "if2") (i32.const 5))
(assert_return (invoke "switch" (i32.const 0)) (i32.const 50))
(assert_return (invoke "switch" (i32.const 1)) (i32.const 20))
(assert_return (invoke "switch" (i32.const 2)) (i32.const 20))
(assert_return (invoke "switch" (i32.const 3)) (i32.const 3))
(assert_return (invoke "switch" (i32.const 4)) (i32.const 50))
(assert_return (invoke "switch" (i32.const 5)) (i32.const 50))
(assert_return (invoke "return" (i32.const 0)) (i32.const 0))
(assert_return (invoke "return" (i32.const 1)) (i32.const 2))
(assert_return (invoke "return" (i32.const 2)) (i32.const 2))
(assert_return (invoke "br_if0") (i32.const 29))
(assert_return (invoke "br_if1") (i32.const 1))
(assert_return (invoke "br_if2") (i32.const 1))
(assert_return (invoke "br_if3") (i32.const 2))
(assert_return (invoke "br") (i32.const 1))
(assert_return (invoke "shadowing") (i32.const 1))
(assert_return (invoke "redefinition") (i32.const 5))
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60"
    "\00\00\03\82\80\80\80\00\01\00\0a\91\80\80\80\00"
    "\01\8b\80\80\80\00\00\02\40\41\01\0d\00\8c\01\0b"
    "\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60"
    "\00\00\03\82\80\80\80\00\01\00\0a\94\80\80\80\00"
    "\01\8e\80\80\80\00\00\02\40\43\00\00\00\00\41\01"
    "\0d\00\0b\0b"
  )
  "type mismatch"
)
(assert_invalid
  (module binary
    "\00\61\73\6d\01\00\00\00\01\84\80\80\80\00\01\60"
    "\00\00\03\82\80\80\80\00\01\00\0a\94\80\80\80\00"
    "\01\8e\80\80\80\00\00\02\40\43\00\00\00\00\41\01"
    "\0d\00\0b\0b"
  )
  "type mismatch"
)
